package com.zeei.ems.base.service;

import com.zeei.ems.base.tree.TreeNodeVO;
import com.zeei.ems.base.vo.AreaCodeVO;

import java.util.List;
import java.util.Map;



public interface AreaCodeService {
	/**
	 * 
	 * getAreaCodeList:(查询区域配置，传入实体类，按需求去对应参数).
	 *
	 * @param condition
	 * @return
	 */
	List<TreeNodeVO<AreaCodeVO>> queryAreaCodeTreeList(Map<String, Object> condition);

	/**
	 * 
	 * getAreaCodeList:(查询区域配置，传入实体类，按需求去对应参数).
	 *
	 * @param filterFlag
	 * @return
	 */
	List<TreeNodeVO<AreaCodeVO>> queryAreaCodeTreeChildList(String regionCode, String filterFlag);

	/**
	 * 
	 * addAreaCode:(添加区域配置信息).
	 *
	 * @param AreaCodeVO
	 * @return
	 */
	boolean insertAreaCode(AreaCodeVO AreaCodeVO);

	/**
	 * 
	 * editAreaCode:(修改区域信息).
	 *
	 * @param areaCodeBena
	 * @return
	 */
	boolean updateAreaCode(AreaCodeVO areaCodeBena);

	/**
	 * 
	 * deleteAreaCode:(传入ID数组执行删除).
	 *
	 * @param list
	 * @return
	 */
	boolean deleteAreaCode(List<String> list);

	/**
	 * queryAreaInfor:根据父级编码查询区域信息
	 * 
	 * @param regionCode
	 * @param level
	 * @return ResultVO<AreaCodeVO>
	 */

	List<AreaCodeVO> queryAreaInfor(String regionCode, Integer level);

	/**
	 * 
	 * getAreaCodeList:(查询区域配置，传入实体类，按需求去对应参数).
	 *
	 * @param condition
	 * @return
	 */
	List<AreaCodeVO> queryAreaCodeList(Map<String, Object> condition);
	/**
	 * 
	 * queryAreaList: 查询区域集合
	 * 
	 * @return List<BasicTreeNodeVO>
	 */
	List<AreaCodeVO> queryAreaList();
}
